简介
libcurl在开发当中还是比较常用的,最近做一个新feature有用到,在这里我把我学到的一些东西分享一下,也许其中有错误,欢迎指正。
全部内容来自libcurl的官方网站:libcurl
libcurl提供了一套名为“easy interface”的接口供使用。一个libcurl应用程序的生命周期应该是这样的:
- 调用init接口做初始化。
- 调用setopt接口设置一些发送请求的参数,当然,当response回来时调用的回调函数也是在这里。
- 调用perform接口发起请求。这个接口是阻塞的,当请求完成或者失败的情况下,这个调用才会返回。
- 当perform请求完成后,使用getinfo接口来获得这个请求的结果。
- 当所有的事情都完成之后,如果没有后续的事情要做,则调用cleanup接口来做最好的关闭清理工作。
libcurl 常用的API有下面这些:
curl_global_init()
curl_global_cleanup()
curl_easy_init()
curl_easy_cleanup()
curl_easy_setopt()
curl_easy_perform()
curl_easy_getinfo()